Click Here!
home account info subscribe login search My ITKnowledge FAQ/help site map contact us


 
Brief Full
 Advanced
      Search
 Search Tips
To access the contents, click the chapter and section titles.

Oracle Performance Tuning and Optimization
(Publisher: Macmillan Computer Publishing)
Author(s): Edward Whalen
ISBN: 067230886x
Publication Date: 04/01/96

Bookmark It

Search this book:
 
Previous Table of Contents Next


Part II
Tuning the Server

Chapter 8 What Affects Oracle Server Performance?
9 Oracle Instance Tuning
10 Performance Enhancements
11 Tuning the Server Operating System
12 Operating System-Specific Tuning
13 System Processors
14 Advanced Disk I/O Concepts
15 Disk Arrays

Part I of this book reviewed the Oracle architecture and introduced some of the concepts used in the rest of the book. You learned about benchmarks and how you can use benchmarks to compare various architectures. Most importantly, you were given a foundation of guidelines to follow as a tuning methodology.

Part II of this book begins to look at real problems and solutions. Chapter 8, “What Affects Oracle Server Performance?” begins with a discussion about system bottlenecks. You find out what a bottleneck is and how to determine where it is.

Chapter 9, “Oracle Instance Tuning,” and Chapter 10, “Performance Enhancements,” look at tuning specifics such as instance tuning and performance enhancements. These chapters should leave you with a good idea about how to tune the Oracle instance.

Chapter 11, “Tuning the Server Operating System,” looks into what it takes to tune the operating system. The chapter includes specifics about several popular operating systems.

The last three chapters of Part II look at the hardware itself—a concept often missed in tuning books. You learn how the system processors work and how disks operate. Finally, you look at the world of disk arrays: how do they work and how do they help you in an RDBMS environment?

When you finish this part of the book, you should have a pretty good idea about how to tune the server—from configuring the hardware to tuning the instance. Part IV of the book, “Tuning SQL,” contains information about application tuning; but for now, let’s focus on the server.

Chapter 8
What Affects Oracle Server Performance?

Many factors contribute to the performance of Oracle on the server: the tuning of the Oracle instance, the OS, the hardware itself, and the load generated by the users. In tuning the system, you have some control over almost all these factors.

As mentioned in an earlier chapter, I like to break down the performance of a system into three categories: things that are broken, things that need to be optimized, and things that aren’t a problem. The first category can cause significant performance loss; the second can cause minor degradation. Sometimes, there is a significant gray area between the first two categories of problems, but the solutions are the same.

Many different situations can cause performance loss. Consider these examples:

  An overloaded I/O system. This can cause the entire system to slow down while waiting for disk requests to return.
  Not enough memory. This can cause additional I/O usage by reducing the cache-hit rate and by causing the operating system to swap or page.
  Lack of Oracle resources. A shared pool that is too small can cause performance problems, as described in Chapter 9, “Oracle Instance Tuning.”
  A slow network. Network performance problems can reduce throughput and cause user response times to rise.

These problems can be caused by any of these parts of the system:

  Hardware. Problems may be caused by defective hardware or by an insufficient amount of some resource such as memory or disk space.
  Operating system. Problems may be caused by tuning issues as well as OS resources used by Oracle.
  Oracle. It is essential to properly tune Oracle for your configuration so that you can realize optimal performance. A poorly tuned Oracle instance can drastically affect performance.

When there is a significant performance loss caused by a limiting factor in the system, this is known as a bottleneck.

System Bottlenecks

The term bottleneck comes from the shrinking in size of the neck of a bottle. This constriction causes a reduction in flow, limiting the amount of liquid coming out of the bottle. In a similar fashion, this term is used to describe something that is constricting system performance. Over the years, this term has grown to represent any sort of major limiting factor in a computer system.

A bottleneck can significantly reduce the performance of a system while leaving some resources—such as the CPU—completely underutilized. It is the job of the performance engineer to reduce or eliminate bottlenecks.

Finding the Bottleneck

As you will see in the next few chapters, it is not always easy to determine where a bottleneck is and what is causing it. In some cases, it is almost impossible to determine exactly where the problem is.

If the bottleneck is internal to the operating system or to Oracle itself, there is really nothing you can do about it. The developers of Oracle—as well as developers of most operating systems—are constantly testing new releases to eliminate all the bottlenecks they can.

If the bottleneck is in the hardware, you often have an easier time eliminating it. Solving a hardware limitation usually involves simply adding more disk drives or increasing the amount of RAM in the system. If there is an inherent bottleneck in the system’s cache design or memory bus, there usually isn’t much you can do about it. Most hardware vendors concentrate on reducing system bottlenecks as quickly as they can. For hardware companies that do significant benchmarking, it is especially important that they have optimal performance.


CAUTION:  This is a case where the buyer should beware. Many small “clone vendors” do no work to optimize their hardware for RDBMS performance. You may find that the money you save on hardware is spent buying additional components or systems to make up for the deficiency in the original hardware.

Removing the Bottleneck

How do you get rid of a system bottleneck? It takes a lot of analysis, tuning, and hard work. The next few chapters discuss the particulars of how to get rid of specific bottlenecks.

The goal is to remove the bottleneck as a limiting factor in the performance of your system. In other words, turn the bottleneck into a “non-issue.” If disk I/O is causing a bottleneck, tuning the I/O subsystem—by either redistributing your database or by adding additional capacity—should remove I/O as a limiting factor. Once this is done, I/O is no longer an issue in tuning your system. You have moved the limiting factor somewhere else.


Previous Table of Contents Next


Products |  Contact Us |  About Us |  Privacy  |  Ad Info  |  Home

Use of this site is subject to certain Terms & Conditions, Copyright © 1996-2000 EarthWeb Inc.
All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb is prohibited.